
//重点掌握decodeURI处理url地址为中文的情况，需要将地址转换为中文。

const url='htpp://www.baidu.com/order?user=Tom&id=123&city=南昌'
const output={
    protocol:'http',
    host:'www.baidu.com',
    path:'/order',
    query:{
        user:'Tom',
        id:123,
        city:'南昌'
    }
}
function parser(url){
    let res={}
    const protocolArr=url.split('://')
    const protocol=protocolArr[0]
    const host=protocolArr[1].split('/')[0]
    const path=protocolArr[1].split('?')[0].slice(host.length)
    const queryStr=protocolArr[1].split('?')[1]
    const queryArr=queryStr.split('&')
    const query={}
    queryArr.forEach(item=>{
        const key=item.split('=')[0]
        const value=decodeURI(item.split('=')[1])//因为url地址不可能有中文，所以要解码
        query[key]=value
    })
    res={
        protocol,
        host,
        path,
        query
    }
    return res
}
console.log(parser(url));



